import wepy from 'wepy'
import {asyncInc} from "../store/actions"
let host = 'http://weixin.wangxubaba.cn/api/';
let util = {
  api: async (options) => {
    options.url = host + options.url
    wepy.showLoading({
      title: '数据加载中...',
    })
    let response = await wepy.request(options)
    wepy.hideLoading()
    if (response.statusCode === 200) {
      return response
    }
  },
  login: async (data) => {
    let result = await util.api({url: 'login', method: 'POST', data: data})
    console.log(result)
    if (result.statusCode === 200) {
      return result
    }
  },
  //  获取令牌
  getToken() {
    let token = wepy.getStorageSync('token')
    if (token) {
      // 从缓存中尝试获取token,如果能获取到,再判断是否过期,如果能获取到并且没过期,代表登录有效,如果获取不到或者过期了,就代表登录失效了
      if (new Date().getTime() < token.addtime + token.expires_in * 1000) {
        //  跟后台的验证字段一样
        return token.access_token
      } else {
        return null
      }
    }
  },
  // 需要验证的请求方法
  authApi: async (options) => {
    // 判断options里面有没有header属性,如果没有,给它设置一个空对象
    options.header = options.header ? options.header : {}
    // 往请求数据中的header头信息中添加令牌的值
    options.header.Authorization = 'Bearer ' + util.getToken()
    return await util.api(options)
  },
  // 获取用户信息方法
  userInfo: async () => {
    let result = await util.authApi({url: 'me'})
    if (result.statusCode === 200) {
      return result.data
    }
  },
  // 退出登录方法
  logout: async () => {
    let result = await util.authApi({url: 'logout'})
    // console.log(result)
    if (result.statusCode === 200) {
      // 将缓存中的token数据删除
      wepy.removeStorageSync('token')
      return result
    }
  }
}
export default util;
